home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / ppepakts.zip / SLOTS.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-05-30  |  17KB  |  765 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     TDATE001(1000)
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     Integer  INTEGER012
  32.     Integer  INTEGER013
  33.     Money    MONEY001
  34.     Money    MONEY002
  35.     Money    TMONEY003(1000)
  36.     Money    MONEY004
  37.     Money    MONEY005
  38.     Money    MONEY006
  39.     String   TSTRING001(15)
  40.     String   TSTRING002(3)
  41.     String   TSTRING003(3)
  42.     String   TSTRING004(3)
  43.     String   TSTRING005(1000)
  44.     String   STRING006
  45.     String   STRING007
  46.     String   STRING008
  47.     String   STRING009
  48.     String   STRING010
  49.     String   STRING011
  50.     String   STRING012
  51.     String   STRING013
  52.     String   STRING014
  53.     String   STRING015
  54.     String   STRING016
  55.  
  56. ;------------------------------------------------------------------------------
  57.  
  58.     Cls
  59.     INTEGER007 = 0
  60.     INTEGER012 = 0
  61.     STRING006 = "YES"
  62.     INTEGER005 = 0
  63.     Gosub LABEL014
  64.     STRING014 = Mid(STRING015, PcbNode() * 5 - 4, 4)
  65.     If (INTEGER008 <> 932411) Then
  66.         Gosub LABEL022
  67.     Else
  68.         Gosub LABEL023
  69.     Endif
  70.     GetUser
  71.     Gosub LABEL015
  72.     Gosub LABEL016
  73.     Newline
  74.     If (STRING007 == "YES") Then
  75.         STRING013 = "N"
  76.     Else
  77.         STRING013 = "Y"
  78.     Endif
  79.     InputYN "Would like the instructions/rules", STRING013, 14
  80.     If (STRING013 <> YesChar()) Then
  81.         Goto LABEL001
  82.     Else
  83.         Goto LABEL024
  84.     Endif
  85.     :LABEL001
  86.     STRING012 = Time()
  87.     STRING011 = "Started SLOTS at "
  88.     Log STRING011 + STRING012, 1
  89.     Cls
  90.     AnsiPos 1, 2
  91.     PrintLn "Winnings:"
  92.     AnsiPos 1, 3
  93.     PrintLn "@X0C$$$@X09 - $25  and 10 minutes - 1st coin                  @X55█@X5AEARTHQUAKE@X55██@X09 "
  94.     PrintLn "@X0C$$$@X09 - $50  and 20 minutes - 2nd coin        @X0C 2nd coin █@X80   @X55█@X80   @X55█@X80   @X0C█@X09 │"
  95.     PrintLn "@X0C$$$@X09 - $250 and 30 minutes - 3rd coin        @X0E 1st coin █@X80   @X55█@X80   @X55█@X80   @X0E█@X09 │"
  96.     PrintLn "@X03@X09 - $20 and 20 minutes                    @X0F 3rd coin █@X80   @X55█@X80   @X55█@X80   @X0F█@X09 │"
  97.     PrintLn "@X03@X0EΦ@X09 - $20                                             @X55█████@X5A$1@X55██████@X09─┘"
  98.     PrintLn "@X05@X09 - $15 and 15 minutes                              @X55██@X07▀▀▀▀▀▀▀▀▀@X55██"
  99.     PrintLn "@X05@X0EΦ@X09 - $15                                             @X55█████████████"
  100.     PrintLn "@X04@X09 - $10 and 10 minutes"
  101.     PrintLn "@X04@X0EΦ@X09 - $10"
  102.     PrintLn "@X02-@X09 - $5"
  103.     PrintLn "@X02--@X09 - $2"
  104.     PrintLn "@X0EΦΦΦ@X09 - 10 minutes"
  105.     AnsiPos 1, 15
  106.     Print "@X78┌────────────────────────────────────────────────┐"
  107.     AnsiPos 1, 16
  108.     Print "@X78│                                                │@X08█"
  109.     AnsiPos 1, 17
  110.     Print "@X78└────────────────────────────────────────────────┘@X08█"
  111.     AnsiPos 51, 18
  112.     Print "@X08█"
  113.     AnsiPos 1, 18
  114.     Print "@X78┌────────────────────────────────────────────────┐"
  115.     AnsiPos 1, 19
  116.     Print "@X78│                                                │@X08█"
  117.     AnsiPos 1, 20
  118.     Print "@X78└────────────────────────────────────────────────┘@X08█"
  119.     AnsiPos 1, 21
  120.     Print "@X08  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0E"
  121.     AnsiPos 63, 13
  122.     Print "@X0BStatistics"
  123.     AnsiPos 59, 14
  124.     Print "@X78┌─────────┬─────────┐"
  125.     AnsiPos 59, 15
  126.     Print "@X78│  @X75Money@X78  │@X75Min. left@X78│@X08█"
  127.     AnsiPos 59, 16
  128.     Print "@X78├         ┼         ┤@X08█"
  129.     AnsiPos 59, 17
  130.     Print "@X78├─────────┼─────────┤█"
  131.     AnsiPos 59, 18
  132.     Print "@X78│  @X75Coins@X78  │@X75  Spins  @X78│@X08█"
  133.     AnsiPos 59, 19
  134.     Print "@X78├         ┼    ", Right(INTEGER012, 3), "  ┤@X08█"
  135.     AnsiPos 59, 20
  136.     Print "@X78└─────────┴─────────┘@X08█"
  137.     AnsiPos 59, 21
  138.     Print "@X08  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X0E"
  139.     :LABEL002
  140.     Gosub LABEL018
  141.     AnsiPos 60, 16
  142.     Print "@X7E", Right(MONEY001, 8)
  143.     AnsiPos 70, 16
  144.     Print "@X7E", Right(MinLeft(), 6)
  145.     AnsiPos 60, 19
  146.     Print "@X77", Space(8)
  147.     AnsiPos 74, 19
  148.     Print "@X78", Right(INTEGER012, 3)
  149.     :LABEL003
  150.     INTEGER012 = INTEGER012 + 1
  151.     AnsiPos 3, 19
  152.     InputStr "How many coins (1 2 or 3) - or (Q)uit", STRING016, 126, 3, "123QMDCNF", 8
  153.     If ((STRING016 == "D") && ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec()))) Then
  154.         Cls
  155.         DispFile PPEPath() + "slots.dat", 2 + 1 + 4
  156.         Wait
  157.         Goto LABEL001
  158.     Endif
  159.     If ((STRING016 == "M") && ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec()))) Then
  160.         Cls
  161.         InputText "Change dollar amount", MONEY001, 14, 7
  162.         Newline
  163.         Wait
  164.         Goto LABEL001
  165.     Endif
  166.     If ((STRING016 == "CNF") && ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec()))) Then
  167.         Cls
  168.         InputText "Change BBS name", STRING008, 14, 45
  169.         Newline
  170.         InputText "Change verfication #", INTEGER008, 14, 6
  171.         Newline
  172.         InputText "Change starting bet", MONEY005, 14, 7
  173.         Newline
  174.         InputText "Change node baud rates (separated by spaces)", STRING015, 14, 35
  175.         Newline
  176.         FOpen 0, PPEPath() + "slots.cnf", 1, 0
  177.         FPutLn 0, STRING008
  178.         FPutLn 0, INTEGER008
  179.         FPutLn 0, MONEY005
  180.         FPutLn 0, STRING015
  181.         FClose 0
  182.         STRING014 = Mid(STRING015, PcbNode() * 5 - 4, 4)
  183.         Wait
  184.         Goto LABEL001
  185.     Endif
  186.     If (STRING016 == "Q") Then
  187.         Goto LABEL013
  188.     Endif
  189.     INTEGER013 = S2I(STRING016, 10)
  190.     MONEY002 = INTEGER013 * 100
  191.     If ((INTEGER013 < 1) || (INTEGER013 > 3)) Then
  192.         Goto LABEL003
  193.     Endif
  194.     If (MONEY002 > MONEY001) Then
  195.         AnsiPos 1, 16
  196.         Print "@X09You don't have ", MONEY002, " to bet."
  197.         Goto LABEL003
  198.     Endif
  199.     MONEY001 = MONEY001 - MONEY002
  200.     MONEY004 = MONEY001
  201.     AnsiPos 64, 19
  202.     Print "@X75", INTEGER013, "@X0E"
  203.     AnsiPos 57, 2
  204.     Print "                 "
  205.     AnsiPos 3, 16
  206.     Print "@X77", Space(46)
  207.     AnsiPos 3, 19
  208.     Print "@X7E", Space(46)
  209.     Gosub LABEL019
  210.     :LABEL004
  211.     INTEGER001 = Random(50)
  212.     If (INTEGER001 < 5) Goto LABEL004
  213.     :LABEL005
  214.     INTEGER002 = Random(50)
  215.     If (INTEGER002 < 5) Goto LABEL005
  216.     :LABEL006
  217.     INTEGER003 = Random(50)
  218.     If (INTEGER003 < 5) Goto LABEL006
  219.     For INTEGER004 = 1 To 60
  220.         INTEGER005 = INTEGER004
  221.         If (((INTEGER004 > INTEGER001) && (INTEGER004 > INTEGER002)) && (INTEGER004 > INTEGER003)) Break
  222.         If ((INTEGER004 > 10) && (INTEGER004 <= 20)) Then
  223.             INTEGER005 = INTEGER004 - 10
  224.         Endif
  225.         If ((INTEGER004 > 20) && (INTEGER004 <= 30)) Then
  226.             INTEGER005 = INTEGER004 - 20
  227.         Endif
  228.         If ((INTEGER004 > 30) && (INTEGER004 <= 40)) Then
  229.             INTEGER005 = INTEGER004 - 30
  230.         Endif
  231.         If ((INTEGER004 > 40) && (INTEGER004 <= 50)) Then
  232.             INTEGER005 = INTEGER004 - 40
  233.         Endif
  234.         If (INTEGER004 <= INTEGER001) Then
  235.             AnsiPos 57, 6
  236.             Print TSTRING001(INTEGER005 + 1)
  237.             AnsiPos 57, 5
  238.             Print TSTRING001(INTEGER005)
  239.             AnsiPos 57, 4
  240.             If (INTEGER005 == 1) Then
  241.                 Print TSTRING001(11)
  242.                 Goto LABEL007
  243.             Endif
  244.             Print TSTRING001(INTEGER005 - 1)
  245.             :LABEL007
  246.             If (INTEGER004 == INTEGER001) Then
  247.                 TSTRING002(1) = TSTRING001(INTEGER005)
  248.                 If (INTEGER005 == 1) Then
  249.                     TSTRING002(2) = TSTRING001(11)
  250.                     Goto LABEL008
  251.                 Endif
  252.                 TSTRING002(2) = TSTRING001(INTEGER005 - 1)
  253.                 :LABEL008
  254.                 TSTRING002(3) = TSTRING001(INTEGER005 + 1)
  255.             Endif
  256.         Endif
  257.         If (INTEGER004 <= INTEGER002) Then
  258.             AnsiPos 61, 6
  259.             Print TSTRING001(INTEGER005 + 1)
  260.             AnsiPos 61, 5
  261.             Print TSTRING001(INTEGER005)
  262.             AnsiPos 61, 4
  263.             If (INTEGER005 == 1) Then
  264.                 Print TSTRING001(11)
  265.                 Goto LABEL009
  266.             Endif
  267.             Print TSTRING001(INTEGER005 - 1)
  268.             :LABEL009
  269.             If (INTEGER004 == INTEGER002) Then
  270.                 TSTRING003(1) = TSTRING001(INTEGER005)
  271.                 If (INTEGER005 == 1) Then
  272.                     TSTRING003(2) = TSTRING001(11)
  273.                     Goto LABEL010
  274.                 Endif
  275.                 TSTRING003(2) = TSTRING001(INTEGER005 - 1)
  276.                 :LABEL010
  277.                 TSTRING003(3) = TSTRING001(INTEGER005 + 1)
  278.             Endif
  279.         Endif
  280.         If (INTEGER004 <= INTEGER003) Then
  281.             AnsiPos 65, 6
  282.             Print TSTRING001(INTEGER005 + 1)
  283.             AnsiPos 65, 5
  284.             Print TSTRING001(INTEGER005)
  285.             AnsiPos 65, 4
  286.             If (INTEGER005 == 1) Then
  287.                 Print TSTRING001(11)
  288.                 Goto LABEL011
  289.             Endif
  290.             Print TSTRING001(INTEGER005 - 1)
  291.             :LABEL011
  292.             If (INTEGER004 == INTEGER003) Then
  293.                 TSTRING004(1) = TSTRING001(INTEGER005)
  294.                 If (INTEGER005 == 1) Then
  295.                     TSTRING004(2) = TSTRING001(11)
  296.                     Goto LABEL012
  297.                 Endif
  298.                 TSTRING004(2) = TSTRING001(INTEGER005 - 1)
  299.                 :LABEL012
  300.                 TSTRING004(3) = TSTRING001(INTEGER005 + 1)
  301.             Endif
  302.         Endif
  303.         If (STRING014 == 2400) Then
  304.             Delay 0
  305.         Endif
  306.         If (STRING014 >= 9600) Then
  307.             Delay 2
  308.         Endif
  309.     Next
  310.     INTEGER009 = 0
  311.     STRING009 = "NO"
  312.     If (((TSTRING002(1) == "@X0C$@X80") && (TSTRING003(1) == "@X0C$@X80")) && (TSTRING004(1) == "@X0C$@X80")) Then
  313.         MONEY001 = MONEY001 + 5000
  314.         AnsiPos 57, 2
  315.         Print "@X8EJACKPOT █"
  316.         AnsiPos 3, 16
  317.         Print "@X7EYou won a JACKPOT of @X0C$50.00@X0E plus 20 minutes."
  318.         INTEGER009 = 20
  319.         STRING009 = "YES"
  320.     Endif
  321.     If (((TSTRING002(2) == "@X0C$@X80") && (TSTRING003(2) == "@X0C$@X80")) && (TSTRING004(2) == "@X0C$@X80")) Then
  322.         MONEY001 = MONEY001 + 5000
  323.         AnsiPos 57, 2
  324.         Print "@X8EJACKPOT █"
  325.         AnsiPos 3, 16
  326.         Print "@X7EYou won a JACKPOT of @X0C$50.00@X0E plus 10 minutes."
  327.         INTEGER009 = 10
  328.         STRING009 = "YES"
  329.     Endif
  330.     If (((TSTRING002(3) == "@X0C$@X80") && (TSTRING003(3) == "@X0C$@X80")) && (TSTRING004(3) == "@X0C$@X80")) Then
  331.         MONEY001 = MONEY001 + 25000
  332.         AnsiPos 57, 2
  333.         Print "@X8EJACKPOT █"
  334.         AnsiPos 3, 16
  335.         Print "@X7EYou won a JACKPOT of @X0C$250.00@X0E plus 30 minutes."
  336.         INTEGER009 = 30
  337.         STRING009 = "YES"
  338.     Endif
  339.     Gosub LABEL020
  340.     If (STRING009 == "YES") Then
  341.         MONEY006 = MONEY001 - MONEY004
  342.         AnsiPos 65, 2
  343.         Print "@X8E@BEEP@█"
  344.         AnsiPos 3, 16
  345.         Print "@X7EYou bet @X7C", MONEY002, "@X7E and won @X7C", MONEY006
  346.         If (INTEGER009 > 0) Then
  347.             AdjTime INTEGER009
  348.             AnsiPos 31, 16
  349.             Print "@X7E plus @X7C", INTEGER009, "@X7E minutes."
  350.         Endif
  351.     Else
  352.         AnsiPos 3, 16
  353.         PrintLn "@X7ECan't win'em every time.  You lost @X7C", MONEY002
  354.     Endif
  355.     If (MONEY001 == 0) Then
  356.         AnsiPos 1, 19
  357.         Print "@X0EYou have no more money to play with for today.  Play again tomorrow."
  358.         Delay 90
  359.     Else
  360.         Goto LABEL002
  361.     Endif
  362.     :LABEL013
  363.     If (STRING007 == "YES") Then
  364.         If ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec())) Then
  365.             TDATE001(INTEGER007) = "00-00-00"
  366.         Else
  367.             TDATE001(INTEGER007) = Date()
  368.         Endif
  369.         TMONEY003(INTEGER007) = MONEY001
  370.     Else
  371.         INTEGER006 = INTEGER006 + 1
  372.         If ((U_Name() == "DEAN HUNTLEY") || (CurSec() >= SysopSec())) Then
  373.             TDATE001(INTEGER006) = "00-00-00"
  374.         Else
  375.             TDATE001(INTEGER006) = Date()
  376.         Endif
  377.         TSTRING005(INTEGER006) = U_Name()
  378.         TMONEY003(INTEGER006) = MONEY001
  379.     Endif
  380.     Gosub LABEL021
  381.     FOpen 0, PPEPath() + "slots.DAT", 1, 0
  382.     FPutLn 0, INTEGER006
  383.     For INTEGER004 = 1 To INTEGER006
  384.         FPutLn 0, TDATE001(INTEGER004)
  385.         FPutLn 0, TSTRING005(INTEGER004)
  386.         FPutLn 0, TMONEY003(INTEGER004)
  387.     Next
  388.     FClose 0
  389.     Goto LABEL025
  390.     :LABEL014
  391.     FOpen 0, PPEPath() + "slots.cnf", 0, 0
  392.     FGet 0, STRING008
  393.     FGet 0, INTEGER008
  394.     FGet 0, MONEY005
  395.     FGet 0, STRING015
  396.     FClose 0
  397.     Return
  398.     :LABEL015
  399.     TSTRING001(1) = "@X03@X80"
  400.     TSTRING001(2) = "@X0EΦ@X80"
  401.     TSTRING001(3) = "@X04@X80"
  402.     TSTRING001(4) = "@X02@X80"
  403.     TSTRING001(5) = "@X05@X80"
  404.     TSTRING001(6) = "@X0EΦ@X80"
  405.     TSTRING001(7) = "@X04@X80"
  406.     TSTRING001(8) = "@X05@X80"
  407.     TSTRING001(9) = "@X0C$@X80"
  408.     TSTRING001(10) = "@X0EΦ@X80"
  409.     TSTRING001(11) = "@X04@X80"
  410.     Return
  411.     :LABEL016
  412.     If (FileInf(PPEPath() + "slots.DAT", 1) <> 1) Then
  413.         FCreate 0, PPEPath() + "slots.DAT", 2, 0
  414.         INTEGER006 = 0
  415.         FPutLn 0, INTEGER006
  416.         FClose 0
  417.     Else
  418.         FOpen 0, PPEPath() + "slots.DAT", 0, 0
  419.         FGet 0, INTEGER006
  420.         For INTEGER004 = 1 To INTEGER006
  421.             FGet 0, TDATE001(INTEGER004)
  422.             FGet 0, TSTRING005(INTEGER004)
  423.             FGet 0, TMONEY003(INTEGER004)
  424.             TSTRING005(INTEGER004) = RTrim(TSTRING005(INTEGER004), " ")
  425.             TDATE001(INTEGER004) = RTrim(TDATE001(INTEGER004), " ")
  426.             If (TDATE001(INTEGER004) == Date()) Then
  427.                 If (TSTRING005(INTEGER004) == U_Name()) Then
  428.                     STRING006 = "NO"
  429.                     FClose 0
  430.                     Goto LABEL017
  431.                 Endif
  432.                 Continue
  433.             Endif
  434.             If (TSTRING005(INTEGER004) == U_Name()) Then
  435.                 MONEY001 = TMONEY003(INTEGER004)
  436.                 INTEGER007 = INTEGER004
  437.                 STRING007 = "YES"
  438.             Endif
  439.         Next
  440.         FClose 0
  441.     Endif
  442.     :LABEL017
  443.     If (STRING006 == "NO") Then
  444.         AnsiPos 1, 20
  445.         Print "Sorry, you have already played once today....."
  446.         AnsiPos 1, 21
  447.         Wait
  448.         End
  449.     Endif
  450.     If (MONEY001 < MONEY005) Then
  451.         MONEY001 = MONEY005
  452.     Endif
  453.     Return
  454.     :LABEL018
  455.     If (MinLeft() <= 5) Then
  456.         AnsiPos 1, 13
  457.         Print "@X0EYou only have ", MinLeft(), " minutes left on your session."
  458.     Endif
  459.     If (MinLeft() < 2) Then
  460.         AnsiPos 1, 20
  461.         Print "@X0EI am saving your game at this point.  You only have ", MinLeft(), " minute left."
  462.         Goto LABEL013
  463.     Endif
  464.     Return
  465.     :LABEL019
  466.     AnsiPos 69, 3
  467.     Print "@X0E "
  468.     AnsiPos 69, 4
  469.     Print "@X09"
  470.     Delay 2
  471.     AnsiPos 69, 4
  472.     Print " "
  473.     AnsiPos 69, 5
  474.     Print "@X09"
  475.     Delay 2
  476.     AnsiPos 69, 5
  477.     Print " "
  478.     AnsiPos 69, 6
  479.     Print "@X09"
  480.     Delay 3
  481.     AnsiPos 69, 6
  482.     Print "@X09│"
  483.     AnsiPos 69, 5
  484.     Print "@X09"
  485.     Delay 2
  486.     AnsiPos 69, 5
  487.     Print "@X09│"
  488.     AnsiPos 69, 4
  489.     Print "@X09"
  490.     Delay 2
  491.     AnsiPos 69, 4
  492.     Print "@X09│"
  493.     AnsiPos 69, 3
  494.     Print "@X09"
  495.     Delay 2
  496.     Return
  497.     :LABEL020
  498.     For INTEGER004 = 1 To INTEGER013
  499.         If (((TSTRING002(INTEGER004) == "@X03@X80") && (TSTRING003(INTEGER004) == "@X03@X80")) && (TSTRING004(INTEGER004) == "@X03@X80")) Then
  500.             MONEY001 = MONEY001 + 2000
  501.             INTEGER009 = INTEGER009 + 20
  502.             STRING009 = "YES"
  503.         ElseIf (((TSTRING002(INTEGER004) == "@X03@X80") && (TSTRING003(INTEGER004) == "@X03@X80")) && (TSTRING004(INTEGER004) == "@X0EΦ@X80")) Then
  504.             MONEY001 = MONEY001 + 2000
  505.             STRING009 = "YES"
  506.         Endif
  507.         If (((TSTRING002(INTEGER004) == "@X05@X80") && (TSTRING003(INTEGER004) == "@X05@X80")) && (TSTRING004(INTEGER004) == "@X05@X80")) Then
  508.             MONEY001 = MONEY001 + 1500
  509.             INTEGER009 = INTEGER009 + 15
  510.             STRING009 = "YES"
  511.         ElseIf (((TSTRING002(INTEGER004) == "@X05@X80") && (TSTRING003(INTEGER004) == "@X05@X80")) && (TSTRING004(INTEGER004) == "@X0EΦ@X80")) Then
  512.             MONEY001 = MONEY001 + 1500
  513.             STRING009 = "YES"
  514.         Endif
  515.         If (((TSTRING002(INTEGER004) == "@X04@X80") && (TSTRING003(INTEGER004) == "@X04@X80")) && (TSTRING004(INTEGER004) == "@X04@X80")) Then
  516.             MONEY001 = MONEY001 + 1000
  517.             INTEGER009 = INTEGER009 + 10
  518.             STRING009 = "YES"
  519.         ElseIf (((TSTRING002(INTEGER004) == "@X04@X80") && (TSTRING003(INTEGER004) == "@X04@X80")) && (TSTRING004(INTEGER004) == "@X0EΦ@X80")) Then
  520.             MONEY001 = MONEY001 + 1000
  521.             STRING009 = "YES"
  522.         Endif
  523.         If (((TSTRING002(INTEGER004) == "@X0EΦ@X80") && (TSTRING003(INTEGER004) == "@X0EΦ@X80")) && (TSTRING004(INTEGER004) == "@X0EΦ@X80")) Then
  524.             INTEGER009 = INTEGER009 + 10
  525.             STRING009 = "YES"
  526.         Endif
  527.         If ((TSTRING002(INTEGER004) == "@X02@X80") && (TSTRING003(INTEGER004) == "@X02@X80")) Then
  528.             MONEY001 = MONEY001 + 500
  529.             STRING009 = "YES"
  530.             Continue
  531.         Endif
  532.         If (TSTRING002(INTEGER004) == "@X02@X80") Then
  533.             MONEY001 = MONEY001 + 200
  534.             STRING009 = "YES"
  535.         Endif
  536.     Next
  537.     Return
  538.     Cls
  539.     PrintLn "@X01     @X72┌──────────────────────────────────────────────────────────────┐"
  540.     PrintLn "@X01     @X72│                                                              │@X0E░░"
  541.     PrintLn "@X01     @X72│                 @X7ETOP 5 PLAYER SCORES FOR SLOTS@X72                │@X0E░░"
  542.     PrintLn "@X01     @X72│                 @X7EON THE@X72                                       │@X0E░░"
  543.     PrintLn "@X01     @X72├──────────────────────────────────────────────────────────────┤@X0E░░"
  544.     PrintLn "@X01     @X72│    @X7ENAMES                        HIGH SCORE       LAST PLAY@X72   │@X0E░░"
  545.     PrintLn "@X01     @X72├──────────────────────────────────────────────────────────────┤@X0E░░"
  546.     AnsiPos 31, 4
  547.     Print "@X79", STRING008
  548.     For INTEGER004 = 1 To 5
  549.         AnsiPos 1, INTEGER004 + 7
  550.         Print "@X01     @X72│  @X75", Left(ReadLine(PPEPath() + "slots.dat", INTEGER004 * 3), 25)
  551.         AnsiPos 25, INTEGER004 + 7
  552.         Print "@X75", Right(ReadLine(PPEPath() + "slots.dat", INTEGER004 * 3 + 1), 25), "@X75       "
  553.         AnsiPos 57, INTEGER004 + 7
  554.         Print "@X75", Right(ReadLine(PPEPath() + "slots.dat", INTEGER004 * 3 - 1), 9)
  555.         AnsiPos 66, INTEGER004 + 7
  556.         Print "@X72   │@X0E░░"
  557.     Next
  558.     AnsiPos 1, 13
  559.     PrintLn "@X01     @X72│                                                              │@X0E░░"
  560.     PrintLn "@X01     @X72└──────────────────────────────────────────────────────────────┘@X0E░░"
  561.     PrintLn "@X01     @X0E  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░"
  562.     AnsiPos 1, 20
  563.     Return
  564.     :LABEL021
  565.     INTEGER010 = 0
  566.     While (INTEGER010 == 0) Do
  567.         INTEGER010 = 1
  568.         For INTEGER011 = 1 To INTEGER006
  569.             If (TMONEY003(INTEGER011) >= TMONEY003(INTEGER011 + 1)) Then
  570.                 Continue
  571.             Endif
  572.             STRING010 = TMONEY003(INTEGER011)
  573.             TMONEY003(INTEGER011) = TMONEY003(INTEGER011 + 1)
  574.             TMONEY003(INTEGER011 + 1) = STRING010
  575.             STRING010 = TSTRING005(INTEGER011)
  576.             TSTRING005(INTEGER011) = TSTRING005(INTEGER011 + 1)
  577.             TSTRING005(INTEGER011 + 1) = STRING010
  578.             STRING010 = TDATE001(INTEGER011)
  579.             TDATE001(INTEGER011) = TDATE001(INTEGER011 + 1)
  580.             TDATE001(INTEGER011 + 1) = STRING010
  581.             INTEGER010 = 0
  582.         Next
  583.     EndWhile
  584.     Return
  585.     :LABEL022
  586.     Cls
  587.     PrintLn 
  588.     PrintLn "@X01            @X71┌────────────────────────────────────────────────────┐@X00"
  589.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  590.     PrintLn "@X01            @X78│ @X74             UNREGISTERED version                  @X71│@X00"
  591.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  592.     PrintLn "@X01            @X78│ @X74             SLOTS v(1.0)                          @X71│@X00"
  593.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  594.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  595.     PrintLn "@X01            @X78│ @X74  You can register me for $10 - refer to           @X71│@X00"
  596.     PrintLn "@X01            @X78│ @X74  the documentation supplied with the program.     @X71│@X00"
  597.     PrintLn "@X01            @X78│                                                    @X71│@X00"
  598.     PrintLn "@X01            @X78└────────────────────────────────────────────────────@X71┘@X00"
  599.     PrintLn "@X01"
  600.     PrintLn "@X0ACopyright (c) 1993 Tin Shack Software"
  601.     AnsiPos 1, 18
  602.     PrintLn "Please wait...."
  603.     Delay 180
  604.     Return
  605.     :LABEL023
  606.     Cls
  607.     PrintLn "@X0F ████  █      ████   █████   ████"
  608.     PrintLn "@X03█      █     █    █    █    █    "
  609.     PrintLn "@X09 ███   ████   ████     █     ███ "
  610.     PrintLn "@X03    █                           █"
  611.     PrintLn "@X0F████                        ████      @X0ACopyright (c) 1993 Tin Shack Software"
  612.     PrintLn 
  613.     PrintLn 
  614.     PrintLn 
  615.     PrintLn 
  616.     PrintLn "@X0E     NAMES                         HIGH SCORE          LAST PLAY"
  617.     PrintLn "@X0C     ──────────────────────────────────────────────────────────────@X0E"
  618.     For INTEGER004 = 1 To 5
  619.         AnsiPos 1, INTEGER004 + 11
  620.         Print "@X05     ", Left(ReadLine(PPEPath() + "slots.dat", INTEGER004 * 3), 25)
  621.         AnsiPos 25, INTEGER004 + 11
  622.         Print "@X05     ", Right(ReadLine(PPEPath() + "slots.dat", INTEGER004 * 3 + 1), 16)
  623.         AnsiPos 50, INTEGER004 + 11
  624.         Print "@X05     ", Right(ReadLine(PPEPath() + "slots.dat", INTEGER004 * 3 - 1), 9)
  625.     Next
  626.     PrintLn 
  627.     PrintLn 
  628.     Return
  629.     :LABEL024
  630.     Cls
  631.     AnsiPos 33, 1
  632.     Print "@X0DS  L  O  T  S"
  633.     Newline
  634.     PrintLn "@X0EThe object of the game is enter either 1, 2 or 3 coins and pull the"
  635.     PrintLn "handle (in this case hit enter).  Once the wheels stop spinning see what"
  636.     PrintLn "you have won or lost."
  637.     PrintLn "                            Winnings:"
  638.     PrintLn "@X0C$$$@X09 - $25  and 10 minutes - 1st coin"
  639.     PrintLn "@X0C$$$@X09 - $50  and 20 minutes - 2nd coin"
  640.     PrintLn "@X0C$$$@X09 - $250 and 30 minutes - 3rd coin"
  641.     PrintLn "@X03@X09 - $20 and 20 minutes            "
  642.     PrintLn "@X03@X0EΦ@X09 - $20                       "
  643.     PrintLn "@X05@X09 - $15 and 15 minutes            "
  644.     PrintLn "@X05@X0EΦ@X09 - $15                       "
  645.     PrintLn "@X04@X09 - $10 and 10 minutes"
  646.     PrintLn "@X04@X0EΦ@X09 - $10"
  647.     PrintLn "@X02-@X09 - $5"
  648.     PrintLn "@X02--@X09 - $2"
  649.     PrintLn "@X0EΦΦΦ@X09 - 10 minutes"
  650.     PrintLn 
  651.     PrintLn "                   End of instructions/rules"
  652.     PrintLn 
  653.     Wait
  654.     Goto LABEL001
  655.     :LABEL025
  656.     STRING012 = Time()
  657.     STRING011 = "Ended SLOTS at "
  658.     Log STRING011 + STRING012, 1
  659.     If (INTEGER008 <> 932411) Then
  660.         Gosub LABEL022
  661.         AnsiPos 1, 21
  662.         Wait
  663.     Else
  664.         Gosub LABEL023
  665.         AnsiPos 1, 21
  666.         Print Space(30)
  667.         AnsiPos 1, 21
  668.         Wait
  669.     Endif
  670.     End
  671.  
  672. ;------------------------------------------------------------------------------
  673. ;
  674. ; Usage report (before postprocessing)
  675. ;
  676. ; ■ Statements used :
  677. ;
  678. ;    2       End
  679. ;    9       Cls
  680. ;    7       Wait
  681. ;    110     Goto 
  682. ;    123     Let 
  683. ;    73      Print 
  684. ;    71      PrintLn 
  685. ;    67      If 
  686. ;    1       DispFile 
  687. ;    1       FCreate 
  688. ;    4       FOpen 
  689. ;    6       FClose 
  690. ;    8       FGet 
  691. ;    9       FPutLn 
  692. ;    1       GetUser
  693. ;    1       AdjTime 
  694. ;    2       Log 
  695. ;    1       InputStr 
  696. ;    1       InputYN 
  697. ;    11      Gosub 
  698. ;    10      Return
  699. ;    10      Delay 
  700. ;    7       Newline
  701. ;    5       InputText 
  702. ;    80      AnsiPos 
  703. ;
  704. ;
  705. ; ■ Functions used :
  706. ;
  707. ;    9       *
  708. ;    63      +
  709. ;    16      -
  710. ;    61      ==
  711. ;    4       <>
  712. ;    13      <
  713. ;    15      <=
  714. ;    10      >
  715. ;    21      >=
  716. ;    63      !
  717. ;    44      &&
  718. ;    13      ||
  719. ;    2       Mid()
  720. ;    2       Left()
  721. ;    8       Right()
  722. ;    4       Space()
  723. ;    2       RTrim()
  724. ;    3       Random()
  725. ;    3       Date()
  726. ;    2       Time()
  727. ;    8       U_Name()
  728. ;    1       YesChar()
  729. ;    13      PPEPath()
  730. ;    2       PcbNode()
  731. ;    6       ReadLine()
  732. ;    5       SysopSec()
  733. ;    5       CurSec()
  734. ;    5       MinLeft()
  735. ;    1       S2I()
  736. ;    1       FileInf()
  737. ;
  738. ;------------------------------------------------------------------------------
  739. ;
  740. ; Analysis flags : As
  741. ;
  742. ; A - Adjust online time remaining ■ 5
  743. ;     Program modify the amount of online time remaining, this may
  744. ;     be a way to bypass time limits
  745. ;     ■ Search for : ADJTIME
  746. ;
  747. ; s - Sysop level access ■ 5
  748. ;     Program is reading the sysop access level, this may be normal
  749. ;     but still it is very suspect. It is the best way to give a user
  750. ;     all priviledges. Check!
  751. ;     ■ Search for : SYSOPSEC()
  752. ;
  753. ;------------------------------------------------------------------------------
  754. ;
  755. ; Postprocessing report
  756. ;
  757. ;    7       For/Next
  758. ;    1       While/EndWhile
  759. ;    55      If/Then or If/Then/Else
  760. ;    0       Select Case
  761. ;
  762. ;------------------------------------------------------------------------------
  763. ;                 AEGiS Corp - Break the routines, code against the machines!
  764. ;------------------------------------------------------------------------------
  765.